package com.ulife.permission.common;

import org.apache.commons.lang.StringUtils;

public enum TargetEnum {

	/**
	 * 角色管理页面
	 */
	ROLE_LIST(PagePermissionConstants.ROLE_LIST_ID, "角色管理"),
	
	/**
	 * 角色配置页面
	 */
	ROLE_INFO(PagePermissionConstants.ROLE_INFO_ID, "角色配置"),
	
	/**
	 * 用户管理页面
	 */
	USER_LIS(PagePermissionConstants.USER_LIST_ID, "用户管理"),
	
	/**
	 * 授权页面
	 */
	USER_INFO(PagePermissionConstants.USER_INFO_ID, "用户授权"),
	
	/**
	 * 部门管理
	 */
	DEPARTMENT_LIST(PagePermissionConstants.DEPARTMENT_LIST_ID, "部门管理"),
	
	/**
	 * 类目管理
	 */
	CATE_LIST(PagePermissionConstants.CATE_LIST_ID, "类目管理"),
	
	/**
	 * 属性管理
	 */
	PROPERTY_LIST(PagePermissionConstants.PROPERTY_LIST_ID, "属性管理"),
	
	/**
	 * 产品管理
	 */
	ITEM_LIST(PagePermissionConstants.ITEM_LIST_ID, "产品管理"),
	
	/**
	 * 供应商管理
	 */
	SUPPLIER_LIST(PagePermissionConstants.SUPPLIER_LIST_ID, "供应商管理");
	
	private String target;
	
	private String targetName;

	public String getTarget() {
		return target;
	}

	public String getTargetName() {
		return targetName;
	}
	
	private TargetEnum(String target, String targetName) {
		this.target = target;
		this.targetName = targetName;
	}
	
	public static TargetEnum getTargetEnum(String target) {
		if(StringUtils.isNotBlank(target)) {
			for(TargetEnum p : TargetEnum.values()) {
				if(StringUtils.equals(p.getTarget(), target)) {
					return p;
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+target);
	}
	

	public static TargetEnum getTargetEnumByName(String targetName) {
		if(StringUtils.isNotBlank(targetName)) {
			for(TargetEnum p : TargetEnum.values()) {
				if(StringUtils.equals(p.getTargetName(), targetName)) {
					return p;
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+targetName);
	}
	
	public static String getTarget(String targetName) {
		if(StringUtils.isNotBlank(targetName)) {
			for(TargetEnum p : TargetEnum.values()) {
				if(StringUtils.equals(p.getTargetName(), targetName)) {
					return p.getTarget();
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+targetName);
	}
	
	public static String getTargetName(String target) {
		if(StringUtils.isNotBlank(target)) {
			for(TargetEnum p : TargetEnum.values()) {
				if(StringUtils.equals(p.getTarget(), target)) {
					return p.getTargetName();
				}
			}
		}
		throw new IllegalArgumentException("错误的类型:"+target);
	}
	
}
